import java.util.List;

public class ApiResponse<T> {
    private T data;
    private int total;
    private String message;
    private String status;
    private List<String> endpoints;
    
    // Constructors
    public ApiResponse() {}
    
    public ApiResponse(T data, int total) {
        this.data = data;
        this.total = total;
    }
    
    public ApiResponse(String message, String status) {
        this.message = message;
        this.status = status;
    }
    
    public ApiResponse(List<String> endpoints, String message, String status) {
        this.endpoints = endpoints;
        this.message = message;
        this.status = status;
    }
    
    // Getters and Setters
    public T getData() {
        return data;
    }
    
    public void setData(T data) {
        this.data = data;
    }
    
    public int getTotal() {
        return total;
    }
    
    public void setTotal(int total) {
        this.total = total;
    }
    
    public String getMessage() {
        return message;
    }
    
    public void setMessage(String message) {
        this.message = message;
    }
    
    public String getStatus() {
        return status;
    }
    
    public void setStatus(String status) {
        this.status = status;
    }
    
    public List<String> getEndpoints() {
        return endpoints;
    }
    
    public void setEndpoints(List<String> endpoints) {
        this.endpoints = endpoints;
    }
}